// pages/category/category.js
const data = require('../../utils/data')
Page({

  /**
   * 页面的初始数据
   */

  data: {
    data: [],
    currentLeftSelect: 'new',
    eachRightItemToTop: []
  },
  jumpTo(id) {
    const Reid = id.target.dataset.id;
    this.setData({
      currentLeftSelect: Reid,
      scrollIntoViewId: `right-item-${Reid}`
    });
  },
  rightScroll(event) {
    const idArray = []
    this.data.data.forEach(ele => idArray.push(ele.id))
    for (let i = 0; i < idArray.length; i++) {
      let left = this.data.eachRightItemToTop[i] //它只是个json对象可能比数组效率要高 前面高度
      let right = this.data.eachRightItemToTop[i + 1]
      // 当滚动高度大于等于前面，小于后面的高度时，取当前i的id,通过前后比较，可以防止极小的
      if (event.detail.scrollTop < right && event.detail.scrollTop >= left) {
        this.setData({
          currentLeftSelect: idArray[i],
        })
      }
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      data: data.default.category
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    setTimeout(() => {
      const idArray = []
      this.data.data.forEach(ele => idArray.push(ele.id))
      const array = []
      for (let i = 0; i < idArray.length; i++) {
        const query = wx.createSelectorQuery()
        query.select(`#right-item-${idArray[i]}`).boundingClientRect()
        query.selectViewport().scrollOffset()
        query.exec(function (res) {
          array.push(res[0].top)
        })
      }
      this.setData({
        eachRightItemToTop: array
      })
    }, 500)
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})